<>的作用

来源:百度知道 编辑:UC知道 时间:2024/06/07 05:45:29
class ControllerPacket
{
public:
string mIdentify;
float mAcceleration;
float mTinyOrient;
map<string, string> mStates;
map<int, string> mCommands;
最后这两个句子是什么意思 就是<>的作用

<>用来定义模板,或者具体化模板。
在这里就是具体化模板。
即:map的定义是一个模板类,里边有两种类型是泛化的,
在使用时必须具体化这两个类型,所以在这里用<>表明这两种类型。
模板定义实例:
template<class T>
class A
{
private:
T a;
}
那么定义对象时,就必须用:
A<int> a;
或者
A<double> a;
句是说,定义一个类,可以应用于多个数据类型。
同样还有模板函数。

大概是用 template 定义过,没有具体申明数据类型,然后再<>里申明

这个,我是这样猜想的

<>用于类模板或函数模板的显式实例化

这里是对map类的显式实例化

这个map如果没有别的声明,一般就是指std::map,即STL容器组件,声明中带有两个模板参数,需要在使用时实例化,提供两个模板类型。

比如在我的GNU STL实现中 map的声明如下:
template <typename _Key, typename _Tp, typename _Compare = less<_Key>,
typename _Alloc = allocator<pair<const _Key, _Tp> > >
class map{ ..... };

一共四个模板参数,后两个如果实例化没有给,则采用默认的
而前两个必须在实例化时给出

<>是模版的参数表,里面是具体化模版的类型